﻿namespace MSSqlSchemaDoc.Core.DataStructures
{
    using System;
    using System.Collections.ObjectModel;
    using System.Xml;
    using System.Xml.Serialization;

    /// <summary>
    /// Represents documentation for a stored procedure.
    /// </summary>
    [Serializable()]
    public class StoredProcedureDocumentation : DocumentationObjectBase
    {
        /// <summary>
        /// Initializes a new instance of the StoredProcedureDocumentation class.
        /// </summary>
        public StoredProcedureDocumentation()
        {
            this.Parameters = new Collection<ParameterDocumentation>();
        }

        /// <summary>
        /// Gets the Stored Procedure documentation object type string.
        /// </summary>
        public override DataStructureObjectType ObjectType
        {
            get
            {
                return DataStructureObjectType.StoredProcedureDocumentation;
            }
        }

        /// <summary>
        /// Gets or sets the parameter documentation list.
        /// </summary>
        [XmlArray()]
        public Collection<ParameterDocumentation> Parameters { get; set; }
    }
}